import pygame
from random import *


class Bullet_Supply(pygame.sprite.Sprite):
    def __init__(self, bg_size):
        pygame.sprite.Sprite.__init__(self)

        self.image = pygame.image.load("images/bullet_supply.png").convert_alpha() # 加载子弹补给图像
        self.rect = self.image.get_rect() # 获取图片位置
        self.width, self.height = bg_size[0], bg_size[1] # 获取背景大小，并赋值给宽和高
        # 随机设置子弹补给的位置在屏幕顶部
        self.rect.left, self.rect.bottom = \
            randint(0, self.width - self.rect.width), -100
        self.speed = 5 # 设置子弹补给的速度
        self.active = False # 初始化子弹补给不活动
        self.mask = pygame.mask.from_surface(self.image) # 创建遮罩用于碰撞检测
    # 设置子弹补给的移动方式
    def move(self):
        # 如果还没到底部
        if self.rect.top < self.height:
            # 向下移动
            self.rect.top += self.speed
        else:
            # 到底部后不活动
            self.active = False
    # 重置子弹补给的位置和状态
    def reset(self):
        self.active = True # 设置为活动状态
        # 随机设置子弹补给的位置在屏幕顶部
        self.rect.left, self.rect.bottom = \
            randint(0, self.width - self.rect.width), -100


class Bomb_Supply(pygame.sprite.Sprite):
    def __init__(self, bg_size):
        pygame.sprite.Sprite.__init__(self)

        self.image = pygame.image.load("images/bomb_supply.png").convert_alpha() # 加载炸弹补给的图片
        self.rect = self.image.get_rect() # 获取图片位置
        self.width, self.height = bg_size[0], bg_size[1] # 获取背景尺寸，并赋值宽和高
        # 随机设置炸弹补给在屏幕顶部
        self.rect.left, self.rect.bottom = \
            randint(0, self.width - self.rect.width), -100
        self.speed = 5 # 设置炸弹补给的速度
        self.active = False # 设置炸弹补给的初始状态
        self.mask = pygame.mask.from_surface(self.image) # 创建遮罩用于碰撞检测
    # 炸弹补给的移动方法
    def move(self):
        # 如果还没到底部
        if self.rect.top < self.height:
            # 向下移动
            self.rect.top += self.speed
        else:
            # 到底部后设置为不活动
            self.active = False
    # 重置炸弹补给的位置和状态
    def reset(self):
        self.active = True # 设置为活动状态
        # 随机设置炸弹补给的位置在屏幕顶部
        self.rect.left, self.rect.bottom = \
            randint(0, self.width - self.rect.width), -100
